<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../">
<head>
  <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />

  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>General &mdash; The Logtalk Handbook v3.93.0-b01 documentation</title>
      <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d75fae25" />
      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=19f00094" />
      <link rel="stylesheet" type="text/css" href="../_static/css/custom.css?v=396eccfe" />

  
  <!--[if lt IE 9]>
    <script src="../_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
        <script src="../_static/jquery.js?v=5d32c60e"></script>
        <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
        <script src="../_static/documentation_options.js?v=c8100655"></script>
        <script src="../_static/doctools.js?v=9a2dae69"></script>
        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
    <script src="../_static/js/theme.js"></script>
    <!-- begin favicon -->
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
    <link rel="manifest" href="/site.webmanifest" />
    <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5" />
    <meta name="msapplication-TileColor" content="#355b95" />
    <meta name="theme-color" content="#ffffff" />
    <!-- end favicon -->
    
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Compatibility" href="compatibility.html" />
    <link rel="prev" title="FAQ" href="index.html" />
   
</head>

<body class="wy-body-for-nav"> 
  <div class="wy-grid-for-nav">
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >

          
          
          <a href="../index.html" class="icon icon-home">
            The Logtalk Handbook
              <img src="../_static/logtalk.gif" class="logo" alt="Logo"/>
          </a>
              <div class="version">
                3.93.0
              </div>
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>
        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
    
              <p class="caption" role="heading"><span class="caption-text">Contents</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../userman/index.html">User Manual</a></li>
<li class="toctree-l1"><a class="reference internal" href="../refman/index.html">Reference Manual</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">FAQ</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">General</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#why-are-all-versions-of-logtalk-numbered-2-x-or-3-x">Why are all versions of Logtalk numbered 2.x or 3.x?</a></li>
<li class="toctree-l3"><a class="reference internal" href="#why-do-i-need-a-prolog-compiler-to-use-logtalk">Why do I need a Prolog compiler to use Logtalk?</a></li>
<li class="toctree-l3"><a class="reference internal" href="#is-the-logtalk-implementation-based-on-prolog-modules">Is the Logtalk implementation based on Prolog modules?</a></li>
<li class="toctree-l3"><a class="reference internal" href="#does-the-logtalk-implementation-use-term-expansion">Does the Logtalk implementation use term-expansion?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="compatibility.html">Compatibility</a></li>
<li class="toctree-l2"><a class="reference internal" href="installation.html">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="portability.html">Portability</a></li>
<li class="toctree-l2"><a class="reference internal" href="programming.html">Programming</a></li>
<li class="toctree-l2"><a class="reference internal" href="troubleshooting.html">Troubleshooting</a></li>
<li class="toctree-l2"><a class="reference internal" href="usability.html">Usability</a></li>
<li class="toctree-l2"><a class="reference internal" href="deployment.html">Deployment</a></li>
<li class="toctree-l2"><a class="reference internal" href="performance.html">Performance</a></li>
<li class="toctree-l2"><a class="reference internal" href="licensing.html">Licensing</a></li>
<li class="toctree-l2"><a class="reference internal" href="support.html">Support</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../devtools/index.html">Developer Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../libraries/index.html">Libraries</a></li>
<li class="toctree-l1"><a class="reference internal" href="../ports/index.html">Ports</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contributions/index.html">Contributions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
<li class="toctree-l1"><a class="reference internal" href="../bibliography.html">Bibliography</a></li>
<li class="toctree-l1"><a class="reference internal" href="../genindex.html">Index</a></li>
</ul>

    <p class="caption"><span class="caption-text">External Contents</span></p>
    <ul>
    <li class="toctree-l1"><a class="reference internal" href="../../apis/index.html">APIs</a></li>
    <li class="toctree-l1"><a class="reference internal" href="https://logtalk.org">Logtalk website</a></li>
    <li class="toctree-l1"><a class="reference internal" href="https://github.com/LogtalkDotOrg/logtalk3">GitHub repo</a></li>
    </ul>
  
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">The Logtalk Handbook</a>
      </nav>

      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="Page navigation">
  <ul class="wy-breadcrumbs">
      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
          <li class="breadcrumb-item"><a href="index.html">FAQ</a></li>
      <li class="breadcrumb-item active">General</li>
      <li class="wy-breadcrumbs-aside">
              <a href="https://github.com/LogtalkDotOrg/logtalk3/blob/master/docs/handbook/sources/faq/general.rst" class="fa fa-github"> Edit on GitHub</a>
      </li>
  </ul>
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
             
  <section id="general">
<span id="faq-general"></span><h1>General<a class="headerlink" href="#general" title="Link to this heading"></a></h1>
<ul class="simple">
<li><p><a class="reference internal" href="#faq-general-versions"><span class="std std-ref">Why are all versions of Logtalk numbered 2.x or 3.x?</span></a></p></li>
<li><p><a class="reference internal" href="#faq-general-prolog"><span class="std std-ref">Why do I need a Prolog compiler to use Logtalk?</span></a></p></li>
<li><p><a class="reference internal" href="#faq-general-modules"><span class="std std-ref">Is the Logtalk implementation based on Prolog modules?</span></a></p></li>
<li><p><a class="reference internal" href="#faq-general-expansion"><span class="std std-ref">Does the Logtalk implementation use term-expansion?</span></a></p></li>
</ul>
<section id="why-are-all-versions-of-logtalk-numbered-2-x-or-3-x">
<span id="faq-general-versions"></span><h2>Why are all versions of Logtalk numbered 2.x or 3.x?<a class="headerlink" href="#why-are-all-versions-of-logtalk-numbered-2-x-or-3-x" title="Link to this heading"></a></h2>
<p>The numbers “2” and “3” in the Logtalk version string refer to,
respectively, the second and the third generations of the Logtalk
language. Development of Logtalk 2 started in January 1998, with the
first alpha release for registered users in July and the first public
beta on October. The first stable version of Logtalk 2 was released
in February 9, 1999. Development of Logtalk 3 started in April 2012,
with the first public alpha released in August 21, 2012. The first
stable version of Logtalk 3 was released in January 7, 2015.</p>
</section>
<section id="why-do-i-need-a-prolog-compiler-to-use-logtalk">
<span id="faq-general-prolog"></span><h2>Why do I need a Prolog compiler to use Logtalk?<a class="headerlink" href="#why-do-i-need-a-prolog-compiler-to-use-logtalk" title="Link to this heading"></a></h2>
<p>Currently, the Logtalk language is implemented as a <em>trans-compiler</em>
to Prolog instead of as a standalone compiler. Compilation of Logtalk
source files is performed in two steps. First, the Logtalk compiler
converts a source file to a Prolog file. Second, the chosen Prolog
compiler is called by Logtalk to compile the intermediate Prolog file
generated on the first step. The implementation of Logtalk as a
trans-compiler allows users to use Logtalk together with features only
available on specific Prolog compilers.</p>
</section>
<section id="is-the-logtalk-implementation-based-on-prolog-modules">
<span id="faq-general-modules"></span><h2>Is the Logtalk implementation based on Prolog modules?<a class="headerlink" href="#is-the-logtalk-implementation-based-on-prolog-modules" title="Link to this heading"></a></h2>
<p>No. Logtalk is (currently) implemented in plain Prolog code. Only a
few Prolog compilers include a module system, with several
compatibility problems between them. Moreover, the current ISO Prolog
standard for modules is next to worthless and is ignored by most of
the Prolog community. Nevertheless, the Logtalk compiler is able to
compile simple modules (using a common subset of module directives)
as objects for backward-compatibility with existing code (see the
<a class="reference internal" href="../userman/migration.html#migration-migration"><span class="std std-ref">Prolog integration and migration</span></a> for details).</p>
</section>
<section id="does-the-logtalk-implementation-use-term-expansion">
<span id="faq-general-expansion"></span><h2>Does the Logtalk implementation use term-expansion?<a class="headerlink" href="#does-the-logtalk-implementation-use-term-expansion" title="Link to this heading"></a></h2>
<p>No. Term-expansion mechanisms are not standard and are not available
in all supported Prolog compilers.</p>
</section>
</section>


           </div>
          </div>
          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
        <a href="index.html" class="btn btn-neutral float-left" title="FAQ" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
        <a href="compatibility.html" class="btn btn-neutral float-right" title="Compatibility" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
    </div>

  <hr/>

  <div role="contentinfo">
    <p>&#169; Copyright 1998-2025, Paulo Moura.</p>
  </div>

  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
    provided by <a href="https://readthedocs.org">Read the Docs</a>.
   

</footer>
        </div>
      </div>
    </section>
  </div>
  <script>
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script> 

</body>
</html>